#pragma once
#include "IWidgetTag.h"
#include <CEGUIWindow.h>

namespace CEGUIPlus
{
	class CEGUIPLUS_API WidgetTagGroup
	{
	public:
		typedef std::vector<IWidgetTag::Ptr> TagList;
	private:
		TagList tags;	
		CEGUI::Window* target;
	private:
		WidgetTagGroup(CEGUI::Window* tagTarget);
		~WidgetTagGroup();
	public:
		static WidgetTagGroup* GetTagsOf(CEGUI::Window* targetWindow);
		static bool HaveTags(CEGUI::Window* targetWindow);
		static void Destory(WidgetTagGroup* tagGroup);
		static void ClearTags(CEGUI::Window* targetWindow);
		TagList& GetTagList();
	};
}
